Teach a Quadcopter How to Fly

Define the Task, Define the Agent, and Train Your Agent!

Criteria Meet Specification

Implement agent

The agent.py file contains a functional implementation of a reinforcement learning algorithm.

Train the agent

The Quadcopter_Project.ipynb notebook includes code to train the agent.

Plot the Rewards

Criteria Meet Specification

Plot episode rewards

A plot of rewards per episode is used to illustrate how the agent learns over time.

Reflections

Criteria Meet Specification

Question 1

The submission describes the task and reward function, and the description lines up with the implementation in task.py. It is clear how the reward function can be used to guide the agent to accomplish the task.

Question 2

The submission provides a detailed description of the agent in agent.py.

Question 3

The submission discusses the rewards plot. Ideally, the plot shows that the agent has learned (with episode rewards that are gradually increasing). If not, the submission describes in detail various attempted settings (hyperparameters and architectures, etc) that were tested to teach the agent.

Question 4

A brief overall summary of the experience working on the project is provided, with ideas for further improving the project.